package offer.day3;

import java.util.Scanner;

public class No5replaceBlank {
    /*    面试题5：替换空格
     * ** 题目：请实现一个函数，把字符串中的每个空格替换成“%20”。
     * ** 例如，输入“We are happy.”，则输出“We%20are%20happy.”。
     *
     *    思路：从后往前复制，只是数组长度会增加，时间复杂度为O(n);
     *    但是从前往后复制，不仅数组长度会增加，时间复杂度也会变为O(n2);
     *    或者可以使用StringBuilder、StringBuffer类对字符串进行操作
     * */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        No5replaceBlank rb = new No5replaceBlank();
        Scanner in = new Scanner(System.in);
        System.out.println("输入一个字符串：");
        StringBuffer s = new StringBuffer(in.nextLine());   //输入一行字符串
        String res = rb.replaceBlank(s);
        System.out.println("将空格转换为20%的结果:\n "+res);


    }

    public String replaceBlank(StringBuffer s){
        if(s==null) return null;
        StringBuilder sb=new StringBuilder();
        for(int i=0;i<s.length();i++){
            if(String.valueOf(s.charAt(i)).equals(" ")){
                sb.append("20%");
            }else{
                sb.append(s.charAt(i));
            }
        }
        return sb.toString();

    }
}
